var annexListTabId;

/**
 * 附件信息list
 * 
 * @param {}
 *            tabid
 * @param {}
 *            areaid
 */
function annexlist(tabid) {
	annexListTabId = tabid;

	var qname;
	var qtype;

	var menu = new Ext.menu.Menu({
				id : 'annexQuery',
				style : {
					overflow : 'visible' // For the Combo popup
				},
				items : [new Ext.FormPanel({
							id : 'annexQueryForm',
							labelWidth : 75, // label settings here cascade
							// unless
							// overridden
							frame : true,
							bodyStyle : 'padding:5px 5px 0',
							width : 350,
							defaults : {
								width : 230
							},
							defaultType : 'textfield',
							items : [{
										fieldLabel : '外键对象',
										id : 'qname',
										name : 'qname'
									}, {
										fieldLabel : '附件类型',
										id : 'qtype',
										name : 'qtype'
									}],
							buttons : [{
								id : 'annexQueryButton',
								text : '查 询',
								handler : function() {
									qname = Ext.getCmp('qname').getValue();
									qtype = Ext.getCmp('qtype').getValue();

									annexListStore.reload({
												params : {
													start : 0,
													limit : pageSize,
													qname : qname,
													qtype : qtype
												}
											});

									Ext.getCmp('annexQuery').hide
											.defer(0, Ext.getCmp('annexQuery'),
													[true]);
								}
							}, {
								id : 'annexResetButton',
								text : '重 置',
								handler : function() {
									Ext.getCmp('annexQueryForm').form.reset();
								}
							}]
						})]
			});

	var toolbar = new Ext.Toolbar({
				id : 'toolbar',
				autoWidth : true,
				autoShow : true
			});

	toolbar.add({
		iconCls : 'query',
		text : '过滤查询',
		menu : menu
			// assign menu by instance
		});

	var annexListStore = new Ext.data.JsonStore({
				idProperty : 'XSYSTEM_ANNEX_ID',
				remoteSort : false,
				totalProperty : 'totalCount',
				root : 'annexList',
				fields : ['XSYSTEM_ANNEX_ID', 'ANNEX_NAME', 'ANNEX_FOLDER',
						'ANNEX_PATH', 'ANNEX_STYLE', 'FK_ANNEX_ID',
						'ANNEX_OBJECT', 'ANNEX_OBJECT_FIELD', 'ANNEX_LOCATION',
						'VD'],

				// load using script tags for cross domain, if the data in on
				// the same domain as
				// this page, an HttpProxy would be better
				proxy : new Ext.data.ScriptTagProxy({
							url : context + '/system/annex.do?method=list'
						})
			});

	/* 设置自定义参数 */
	annexListStore.on('beforeload', function(thiz, options) {
				Ext.apply(thiz.baseParams, {
							qname : qname,
							qtype : qtype
						});
			});

	var annexListGrid = new Ext.grid.GridPanel({
				id : tabid,
				store : annexListStore,
				closable : true,
				columns : [{
							header : '附件ID',
							width : 75,
							sortable : true,
							dataIndex : 'XSYSTEM_ANNEX_ID'
						}, {
							header : '附件名称',
							width : 75,
							sortable : true,
							dataIndex : 'ANNEX_NAME'
						}, {
							header : '类型',
							width : 75,
							sortable : false,
							dataIndex : 'ANNEX_STYLE'
						}, {
							header : '所在文件夹',
							width : 75,
							sortable : false,
							dataIndex : 'ANNEX_FOLDER'
						}, {
							header : '路径',
							width : 75,
							sortable : true,
							dataIndex : 'ANNEX_PATH'
						}, {
							header : '外健ID',
							width : 75,
							sortable : true,
							dataIndex : 'FK_ANNEX_ID'
						}, {
							header : '外键对象',
							width : 75,
							sortable : true,
							dataIndex : 'ANNEX_OBJECT'
						}, {
							header : '附件域',
							width : 75,
							sortable : true,
							dataIndex : 'ANNEX_OBJECT_FIELD'
						}, {
							header : '存储位置',
							width : 75,
							sortable : true,
							dataIndex : 'ANNEX_LOCATION'
						}, {
							header : '外键关系',
							width : 75,
							sortable : false,
							dataIndex : 'VD',
							renderer : renderAnnexRow
						}],
				stripeRows : false,
				autoExpandColumn : 'ANNEX_NAME',
				title : '附件信息列表',
				border : false,
				viewConfig : {
					forceFit : true,
					sortAscText : '正序',
					sortDescText : '降序',
					getRowClass : function(record, rowIndex, rowParams, store) {
						if (record.data.VD == '-1') {
							return 'row0';
						} else if (record.data.VD == '0') {
							return 'row1';
						}
					}
				},

				// config options for stateful behavior
				stateful : true,
				stateId : 'grid',
				loadMask : {
					msg : "数据加载中，请稍等..."
				},
				tbar : toolbar,
				bbar : new Ext.PagingToolbar({
							pageSize : pageSize,// 每页显示的记录值
							store : annexListStore,
							displayInfo : true,
							displayMsg : '总记录数 {0} - {1} of {2}',
							emptyMsg : "没有记录"
						})
			});

	annexListGrid.setIconClass('tabs');

	annexListStore.load({
				params : {
					start : 0,
					limit : pageSize
				}
			});

	return annexListGrid;
}

function renderAnnexRow(value, cellmeta, record, rowIndex, columnIndex, store) {
	if (value == '-1') {
		return '不确定 <a href="javascript:void(0);" onclick="javascript:deleteAnnex(\''
				+ record.data.XSYSTEM_ANNEX_ID
				+ '\', reloadAnnexGrid);">删除</a>';
	} else if (value == '0') {
		return '关系丢失 <a href="javascript:void(0);" onclick="javascript:deleteAnnex(\''
				+ record.data.XSYSTEM_ANNEX_ID
				+ '\', reloadAnnexGrid);">删除</a>';
	} else if (value == '1') {
		return '关系完整';
	}
	return value;
}

function reloadAnnexGrid() {
	Ext.getCmp(annexListTabId).getStore().reload();
}